wayland: Adjust the hw keycode in key events for min_key_code
authorKristian Høgsberg <krh@bitplanet.net>
Thu, 10 Feb 2011 21:34:40 +0000 (16:34 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 10 Feb 2011 21:34:40 +0000 (16:34 -0500)
gdk/wayland/gdkdevice-wayland.c

index 63adc6b72104d55be8de7c672097169d2686bb36..672761618f5614d9a43838d0ed57fa85253084d3 100644 (file)
@@ -409,6 +409,9 @@ input_handle_key(void *data, struct wl_input_device *input_device,
   struct xkb_desc *xkb;
   GdkKeymap *keymap;
 
+  keymap = gdk_keymap_get_for_display (device->display);
+  xkb = _gdk_wayland_keymap_get_xkb_desc (keymap);
+
   device->time = time;
   event = gdk_event_new (state ? GDK_KEY_PRESS : GDK_KEY_RELEASE);
   event->key.window = g_object_ref (device->keyboard_focus);
@@ -416,12 +419,8 @@ input_handle_key(void *data, struct wl_input_device *input_device,
   event->button.time = time;
   event->key.state = device->modifiers;
   event->key.group = 0;
-  event->key.hardware_keycode = key;
-
-  keymap = gdk_keymap_get_for_display (device->display);
-  xkb = _gdk_wayland_keymap_get_xkb_desc (keymap);
-
   code = key + xkb->min_key_code;
+  event->key.hardware_keycode = code;
 
   level = 0;
   if (device->modifiers & XKB_COMMON_SHIFT_MASK &&